The present invention relates to data center infrastructure, and more particularly, this invention relates to methods for controlling distributed fabric-based switches which use virtual switches and virtual controllers.
A distributed fabric-based switch is capable of having a large number of ports, e.g., more than 5000 ports, in some cases. In order to achieve this number of ports, the distributed fabric-based switch comprises many smaller switches, hereafter referred to as Distributed Line Cards (DLCs), each having front panel ports, which are interconnected with other DLCs using a cell-based Clos interconnect system. The Clos fabric is capable of switching cells using information included in the cells from a lookup at a first DLC. The advantage of such a system is that a large number of switches and ports may be scaled to without adding overhead of additional route lookups at each stage of the hierarchy. Instead, the lookup is performed at the first DLC.
However, on the flip side, there is now a large number of ports that need to be managed by a single controller. This presents immense scalability problems for the controller software. Most existing solutions (e.g., Juniper Network's QFabric) try to resolve this problem by restricting the number of ports that routing protocols are allowed to run on. However, even when this solution is implemented, there are still scaling issues for other software, applications, and routines that utilize port knowledge of the switch beside the routing protocols which are not addressed by the existing solutions.